package grafica.robots;

import logica.Orientacion;
import grafica.ControlGraficos;

/**
 * Clase RobotMilitarEntity: modela el robot del juego gráficamente. 
 * @author Amorosi, Javier (94528)
 * @author Antiman, Nehuen (102440)
 */
public class RobotMilitarEntity extends RobotEntity{

	/**
	 * Constructor de la clase RobotMilitarEntity
	 * @param _game el juego donde se encuentra la entidad. 
	 * @param ref referencia a la representacion gráfica de la entidad.
	 * @param f posición en filas de la entidad.
	 * @param c posición en columnas de la entidad.
	 */
	public RobotMilitarEntity(ControlGraficos _game, String ref, int f, int c) {
		super(_game, ref, f, c);
	}

	/**
	 * Este robot como acción especial introduce un disparó en el juego, dispara hacia adelante.
	 */
	public void accionEspecial() {
		BalaEntity bala=new BalaEntity(game,"datos/default/bala.png",getF(), getC());
		bala.setHorizontalMovement(0);
		bala.setVerticalMovement(0);
		double moveSpeed=250;
		switch (orientacionLogica){
			case Orientacion.ARRIBA:{
				bala.setVerticalMovement(-moveSpeed);
			}break;
			case Orientacion.DERECHA:{
				bala.setHorizontalMovement(moveSpeed);
			}break;
			case Orientacion.ABAJO:{
				bala.setVerticalMovement(moveSpeed);
			}break;
			case Orientacion.IZQUIERDA:{
				bala.setHorizontalMovement(-moveSpeed);
			}break;
		}		
		game.add(bala);
	}
}
